Part Number Hot Search : 
BAT43 1N5408 T402S SF2098H AK4955 MP12500 MB388 TSAL7600
Product Description
Full Text Search
 

To Download AN1185 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 AN1185 APPLICATION NOTE
Designing for Compatibility between ST and AMD Flash Memories
CONTENTS
s s
INTRODUCTION STMicroelectronics offers a range of Flash memory products that are hardware and software compatible with AMD devices. Identifying differences (or even similarities) between parts from different manufacturers can be a daunting task; this document aims to point out the similarities between the devices offered by each manufacturer and also highlights the differences that may require software or hardware modifications. The information content in this application note is believed to be correct at the time of publishing. However, frequent modifications to Flash memories occur and you must always check the information with the latest Data Sheets. FLASH MEMORY TECHNOLOGY COMPARISON Before delving into the details of specific Flash memories it is worth giving a little background on the different technologies used to make Flash memories. Flash memories made by STMicroelectronics all use "NOR" technology to store and modify the Flash cell contents. AMD and Intel also use this type of technology. NOR technology offers fast random access times (currently in the region of 35ns to 120ns) and fast random write times (8s per byte). It is very reliable, meaning it has very few bit failures and long data retention times. The fast random access of NOR memory, together with excellent reliability makes it suitable for executing code directly from the Flash, storing data without checksums and direct replacement of EPROMs. The other Flash memory technologies are DINOR, NAND, and AND. SanDisk have a different NOR technology to that of STMicroelectronics. Most of these technologies offer larger storage capabilities per chip, but they are hampered by worse data retention. Some technologies require formatting to allocate space for CRCs and to mark "bad sectors" (similar to hard disks). They have poor random access times, but can read and write sequential data quickly. One key point to compatibility is that you cannot replace a NOR Flash memory with a Flash memory of a different technology. They are as different as chalk and cheese in their behavior. If you want to design for compatibility between different manufacturers you need to choose one technology. For those wanting
INTRODUCTION FLASH MEMORY TECHNOLOGY COMPARISON PORTABILITY ISSUES DEVICE AND MANUFACTURER CODES PART NUMBERS EQUIVALENT PART NUMBERS CONCLUSION
s s
s s
s
January 2000
1/7
AN1185 - APPLICATION NOTE
random access and high intrinsic reliability, NOR is the technology to use. The rest of the application note describes the compatibility between different NOR technology products. PORTABILITY ISSUES If you want two parts from different manufacturers to be compatible, the first thing that is required is that they are in the same package and the signals are pin for pin compatible. Following this the DC characteristics need to be compatible (e.g. same voltage requirements) and the AC characteristics need to be compatible (e.g. same bus timing requirements). For Flash memories there is another layer that also needs to be compatible, the software command layer. If you are new to Flash memories then you may be wondering how you write to them. Reading is performed in the same way as reading from EPROM or RAM. However, when you write to a Flash memory you write to a Command Interface that interprets the commands you send and executes them. Clearly, in order for two Flash memories to be compatible they need to have more than pin-out compatibility, they need to be command compatible too. It would be much easier for the person purchasing Flash memories if the Command Sets for all Flash memories were the same and, by and large, this is the case. There are two major Command Set families. M28 series Flash memories have one Command Set whereas M29 series Flash memories has a different Command Set. STMicroelectronics makes some of each, but most of our memories are compatible with the M29 Command Set. AMD also make Flash memories that use the M29 Command Set whereas Intel specializes in Flash memories that use the M28 Command Set. As this Application Note concentrates on compatibility with AMD parts we will not dwell any longer on the M28 or Intel compatible parts. Within the Command Set shared by AMD and STMicroelectronics M29 series Flash memories there are some minor differences that do not affect most software code. The differences that did exist have been ironed out over time in order to try and make each part a second source to the other. Some of the command set differences are obvious and simple to fix, others are a little more obscure. Here is a list of the ones that we are currently aware of: 1. Device Code and Manufacturer Code will be different between the parts. Some software may be written to work with different sized parts and may use the Device Code to select the correct memory size. When designing for compatibility between manufacturers it is necessary to include a means of identifying each part from each manufacturer, then the parts can be interchanged without modification to the software. A lot of software never reads the Device and Manufacturer codes and is, therefore, not affected by this difference. 2. Parts from STMicroelectronics will reset during Block Erase operation if the software Read/Reset Command is issued. AMD parts will ignore software resets. It is unlikely that software will rely on either option for correct operation. It is not advisable to issue a reset during erase operations since the memory will be left with invalid data in its memory array. If you change memory manufacturers and find that erase operations no longer work correctly then it is worth checking what the software writes to the memory during the erase operation. 3. The Unlock Bypass Command and the In-System Protection/Unprotection technique have not been included in all parts. Table 1 lists the equivalent parts affected by these differences. (See the Data Sheet for an explanation of Unlock Bypass and see AN1122 for an explanation of In-System Protection/Unprotection).
2/7
AN1185 - APPLICATION NOTE
Table 1. Differences in availability of Unlock Bypass and In-System Protection/Unprotection
Unlock Bypass Command Size ST AMD ST M29F010B 1Mb M29W010B M29F002B 2Mb M29F200B M29F040B 4Mb M29F400B M29W008A 8Mb M29W800A 16Mb M29F016B Am29LV800B Am29F016B No Yes Yes No No Yes Yes No Am29F400B Am29LV008B Yes No No Yes Yes No No Yes Am29F200B Am29F040B Yes Yes No No Yes No No No Am29LV010B Am29F002B Yes Yes Yes No No Yes Yes No Am29F010B Yes AMD No In-System Protection/ Unprotection ST No AMD No
Note: Unlisted parts have the same features.
DEVICE AND MANUFACTURER CODES Coping with several Device and Manufacturer Codes in the same software can be simple if it is designed into the software at the start. There are many instances, however, where it is necessary to write a quick fix so an additional Flash memory can be used. If the time pressure is such that the software cannot be made to look up the characteristics of several different Flash memories then a simple fix is to "translate" equivalent memories into a memory that is known by the system. Consider software that has a function called device_code(), written as follows: unsigned int device_code( void ) { unsigned int i; /* Write AutoSelect Sequence FlashWrite( 0x5555L, 0xAA ); FlashWrite( 0xAAAAL, 0x55 ); FlashWrite( 0x5555L, 0x90 ); */ /* Note the use of A0-A14 in AutoSelect */ /* which allows Autoselct to identify older memories */ /* Autoselect mode */
i = ReadFlash( 0x0001L ); /* Device code at address XXX1h */ FlashWrite( 0x0000h, 0xF0 ); /* Read/Reset to return to Read Mode */ return i; } An effective way to quickly re-write this function so an AMD Am29F040B could be replaced by an M29F040B is: unsigned int device_code( void ) { unsigned int i; /* Write AutoSelect Sequence FlashWrite( 0x5555L, 0xAA ); FlashWrite( 0xAAAAL, 0x55 ); FlashWrite( 0x5555L, 0x90 ); */ /* Note the use of A0-A14 in AutoSelect */ /* which allows Autoselct to identify older memories */ /* Autoselect mode */
3/7
AN1185 - APPLICATION NOTE
i = FlashRead( 0x0001L ); /* Device code at address XXX1h */ if( FlashRead( 0x0000L ) == 0x20h /* Check for ST manufacturer code */ && i == 0xE2 ) /* And M29F040B device code */ i = 0xA4; /* Replace with AMD's device code, they are compatible anyway */ FlashWrite( 0x0000h, 0xF0 ); /* Read/Reset to return to Read Mode */ return i; } No other changes are required to the software due to the compatibility of AMD and STMicroelectronics devices. This may be a crude way to adapt your software, but it will take 5 minutes. Adding a look-up table to a piece of software you have inherited and do not fully understand can lead to many unforeseen problems. Note that it may also be necessary to change the equivalent function, manufacturer_code(), if one exists. If you require further help with understanding the software required to operate a Flash memory then STMicroelectronics has a range of software drivers for nearly all of our Standard Flash memories. There are extensive comments in the code to help you understand how to operate your Flash. PART NUMBERS The part numbering scheme used by STMicroelectronics and AMD is very similar. Figure 1 shows the example of the M29F400BB55N1 (equivalent to AMD's Am29F400BB55EC) All STMicroelectronics parts start with "M29" and AMD parts start with "Am29". The following letter(s) define the voltage: an "F'" indicates a 5V part; a "W" (STMicroelectronics) or "LV" (AMD) indicates a 3V part. The following three digits indicate the size and architecture of the memory, for example an "040" is a 4Mbit Uniform Block memory; an "800" is an 8Mbit Boot Block memory, etc. The following letter indicates the Device Revision (most parts are currently at revision `B'). The Array Matrix (Top/Bottom for Boot Block memories, none for Uniform or Bulk) follows the Device Revision. Finally the speed, package, temperature and other options follow. EQUIVALENT PART NUMBERS Table 2 lists a range of equivalent parts from each manufacturer. This has been drawn-up using the information that is available at the time of publication. You are advised to check the latest data sheets on the web before ordering any parts as Flash memories are always undergoing technology improvements that can affect their operation and the parts that are available. Finally, if you cannot find a second source for a particular part, contact STMicroelectronics as parts are always in development. We may have the part you require ready in time for your production. CONCLUSION In NOR Flash technology there are two main command sets, both of which are supported by STMicroelectronics. The pin-out, Bus Configuration, and Command Set in M29 series Flash memories is common to all manufacturers and second sourcing is possible so long as a few differences are catered for in the software. Modification of software to cater for additional Flash memories can be performed quickly because, apart from manufacturer specific identification codes, most equivalent parts are 100% compatible.
4/7
AN1185 - APPLICATION NOTE
Figure 1. Part Numbering Scheme for Standard STMicroelectronics Flash memories
STMicroelectronics Definition AMD Equivalent Example
M29 F 400BB
Device Type M29 Operating Voltage F = VCC = 5V 10% W = VCC = 2.7 to 3.6V Device Function 512B = 512 Kbit (x8), Bulk 102B = 1 Mbit (x16), Boot 100B 200B 400B 800A 160B 022B 002B 004B 008A 010B 040B 080A 016B = 1 Mbit (x8/x16), Boot = 2 Mbit (x8/x16), Boot = 4 Mbit (x8/x16), Boot = 8 Mbit (x8/x16), Boot = 16 Mbit (x8/x16), Boot = 2 Mbit (x8), Boot = 2 Mbit (x8), Boot = 4 Mbit (x8), Boot = 8 Mbit (x8), Boot = 1 Mbit (x8), Uniform = 4 Mbit (x8), Uniform = 8 Mbit (x8), Uniform = 16 Mbit (x8), Uniform - - - same same 800B 160D - same same 008B same same 080B same F LV Am29
55 N
1
Array Matrix T = Top Boot B = Bottom Boot Speed 35 = 35 ns 45 = 45 ns 55 = 55 ns 70 = 70 ns 90 = 90 ns 120 = 120 ns Package K = PLCC N = TSOP M = SO P = PDIP Temperature Range 1 = 0 to 70 C 3 = -40 to 125 C 6 = -40 to 85 C C E I J E S P - same same same same same same
5/7
AN1185 - APPLICATION NOTE
Table 2. Equivalent Parts List
ST Part Number M29F512B M29W512B M29F010B M29W010B M29F100B M29F102B M29W102B M29F200B M29W200B M29F002B M29W022B M29F040B M29W040B M29F400B M29W400B M29W004B M29F080A M29F800A M29W800A M29W008A M29F016B M29F160B M29W160B AMD Part Number - - Am29F010B Am29LV010B - - - Am29F200B Am29LV200B Am29F002B - Am29F040B Am29LV040B Am29F400B Am29LV400B Am29LV004B Am29F080B Am29F800B Am29LV800B Am29LV008B Am29F016B Am29F160D Am29LV160D Description 512 Kbit (64Kb x8, Bulk) Single Supply 512 Kbit (64Kb x8, Bulk) Low Voltage Single Supply 1 Mbit (128Kb x8, Uniform Block) Single Supply 1 Mbit (128Kb x8, Uniform Block) Low Voltage Single Supply 1 Mbit (128Kb x8 or 64Kb x16, Boot Block) Single Supply 1 Mbit (64Kb x16, Boot Block) Single Supply 1 Mbit (64Kb x16, Boot Block) Low Voltage Single Supply 2 Mbit (256Kb x8 or 128Kb x16, Boot Block) Single Supply 2 Mbit (256Kb x8 or 128Kb x16, Boot Block) Low Voltage Single Supply 2 Mbit (256Kb x8, Boot Block) Single Supply 2 Mbit (256Kb x8, Boot Block) Low Voltage Single Supply 4 Mbit (512Kb x8, Uniform Block) Single Supply 4 Mbit (512Kb x8, Uniform Block) Low Voltage Single Supply 4 Mbit (512Kb x8 or 256Kb x16, Boot Block) Single Supply 4 Mbit (512Kb x8 or 256Kb x16, Boot Block) Low Voltage Single Supply 4 Mbit (512Kb x8, Boot Block) Low Voltage Single Supply 8 Mbit (1Mb x8, Uniform Block) Single Supply 8 Mbit (1Mb x8 or 512Kb x16, Boot Block) Single Supply 8 Mbit (1Mb x8 or 512Kb x16, Boot Block) Low Voltage Single Supply 8 Mbit (1Mb x8, Boot Block) Low Voltage Single Supply 16 Mbit (2Mb x8, Uniform Block) Single Voltage Supply 16 Mbit (2Mb x8 or 1Mb x16, Boot Block) Single Supply 16 Mbit (2Mb x8 or 1Mb x16, Boot Block) Low Voltage Single Supply
6/7
AN1185 - APPLICATION NOTE
If you have any questions or suggestion concerning the matters raised in this document please send them to the following electronic mail address:
ask.memory@st.com
(for general enquiries)
Please remember to include your name, company, location, telephone number and fax number.
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is registered trademark of STMicroelectronics (R) 2000 STMicroelectronics - All Rights Reserved All other names are the property of their respective owners. STMicroelectronics GROUP OF COMPANIES Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A. http://www.st.com
7/7


▲Up To Search▲   

 
Price & Availability of AN1185

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X